Sensitive Equality
^^^^^
**Definition:**
* Occurs when the toString method is used within a test method. Test methods verify objects by invoking the default toString() method of the object and comparing the output against an specific string. Changes to the implementation of toString() might result in failure. The correct approach is to implement a custom method within the object to perform this comparison.
**Also Known As:**
* The Butterfly
**Code Example:**
.. code-block:: java
@Test
public void test1() throws UnknownHostException {
String peersPacket = "F8 4E 11 F8 4B C5 36 81 " +
"CC 0A 29 82 76 5F B8 40 D8 D6 0C 25 80 FA 79 5C " +
"FC 03 13 EF DE BA 86 9D 21 94 E7 9E 7C B2 B5 22 " +
"F7 82 FF A0 39 2C BB AB 8D 1B AC 30 12 08 B1 37 " +
"E0 DE 49 98 33 4F 3B CF 73 FA 11 7E F2 13 F8 74 " +
"17 08 9F EA F8 4C 21 B0";
byte[] payload = Hex.decode(peersPacket);
byte[] ip = decodeIP4Bytes(payload, 5);
assertEquals(InetAddress.getByAddress(ip).toString(), ("/54.204.10.41"));
}
**References:**
.. admonition:: Quality attributes
* :octicon:`file-code;1em` - Code Example
* :octicon:`comment-discussion;1em` - Cause and Effect
* :octicon:`graph;1em` - Frequency
* :octicon:`sync;1em` - Refactoring
* `A preliminary evaluation on the relationship among architectural and test smells `_
* `An Empirical Study into the Relationship Between Class Features and Test Smells `_ :octicon:`graph;1em`
* `An Exploratory Study on the Refactoring of Unit Test Files in Android Applications `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `An empirical analysis of the distribution of unit test smells and their impact on software maintenance `_ :octicon:`graph;1em`
* `An empirical investigation into the nature of test smells `_ :octicon:`sync;1em`
* `An exploratory study of the relationship between software test smells and fault-proneness `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Analyzing Test Smells Refactoring from a Developers Perspective `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Are test smells really harmful? An empirical study `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Assessing diffusion and perception of test smells in scala projects `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em` :octicon:`graph;1em` :octicon:`sync;1em`
* `Automatic Identification of High-Impact Bug Report by Product and Test Code Quality `_
* `Automatic generation of smell-free unit tests `_ :octicon:`file-code;1em` :octicon:`comment-discussion;1em`
* `Categorising Test Smells `_ :octicon:`graph;1em`
* `Characterizing High-Quality Test Methods: A First Empirical Study `_ :octicon:`graph;1em`
* `Developers perception on the severity of test smells: an empirical study `_ :octicon:`graph;1em` :octicon:`sync;1em`
* `Enhancing developers’ awareness on test suites’ quality with test smell summaries `_
* `Handling Test Smells in Python: Results from a Mixed-Method Study `_
* `Machine Learning-Based Test Smell Detection `_
* `On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study `_
* `On the Relation of Test Smells to Software Code Quality `_
* `On the diffusion of test smells and their relationship with test code quality of Java projects `_ :octicon:`graph;1em`
* `On the diffusion of test smells in automatically generated test code: an empirical study `_
* `On the distribution of test smells in open source Android applications: an exploratory study `_ :octicon:`graph;1em`
* `On the influence of Test Smells on Test Coverage `_
* `On the interplay between software testing and evolution and its effect on program comprehension `_ :octicon:`comment-discussion;1em`
* `On the test smells detection: an empirical study on the jnose test accuracy `_ :octicon:`graph;1em`
* `On the use of test smells for prediction of flaky tests `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `Refactoring Test Code `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`
* `Refactoring Test Smells: A Perspective from Open-Source Developers `_ :octicon:`file-code;1em` :octicon:`sync;1em`
* `Revisiting Test Smells in Automatically Generated Tests: Limitations, Pitfalls, and Opportunities `_ :octicon:`file-code;1em` :octicon:`graph;1em`
* `Scented since the beginning: On the diffuseness of test smells in automatically generated test code `_
* `SoCRATES: Scala radar for test smells `_
* `Software Unit Test Smells `_ :octicon:`file-code;1em`
* `Test Smell Detection Tools: A Systematic Mapping Study `_
* `TestQ: Exploring Structural and Maintenance Characteristics of Unit Test Suites `_
* `The secret life of test smells-an empirical study on test smell evolution and maintenance `_ :octicon:`graph;1em`
* `To What Extent Can Code Quality be Improved by Eliminating Test Smells? `_ :octicon:`comment-discussion;1em`
* `Toward static test flakiness prediction: a feasibility study `_ :octicon:`graph;1em`
* `Towards Automated Tools for Detecting Test Smells: An Empirical Investigation into the Nature of Test Smells `_ :octicon:`comment-discussion;1em` :octicon:`graph;1em`
* `What the Smell? An Empirical Investigation on the Distribution and Severity of Test Smells in Open Source Android Applications `_ :octicon:`graph;1em`
* `Why do builds fail?—A conceptual replication study `_
* `tsDetect: an open source test smells detection tool `_
* `xUnit test patterns: Refactoring test code `_ :octicon:`comment-discussion;1em` :octicon:`sync;1em`